home *** CD-ROM | disk | FTP | other *** search
- Documentation For LandScape
- ===========================
-
- This is the user documentation for LandScape.
- LandScape is a sort of poor-mans CAD (Computer Aided Design) program
- that allows you to design (landscape) a garden. It consists of two parts: a
- design module, where you lay out the design of your garden (using a small
- selection of plants, and other garden objects), and a drawing module, which
- takes the design, and draws a stylised 3D version from any viewpoint of what
- the garden would look like in real life.
-
- The LandScape distribution consists of the following files:
-
- - LandScape.docs What you are reading now.
- - LandScape.release_notes Release notes for this and previous
- versions.
- - LandScape The executable code
- - arp.library (In case you don't already have it)
-
- There are also icons for the first 3 files.
-
- This documentation assumes you have a small amount of knowledge on using
- your Amiga. In particular, how to click on things (left mouse button) and
- how to select items from menus (right mouse button). In order to set the
- program up the very first time, you may have to use the CLI.
-
- CONTENTS
- ========
-
- 1) Obligatory legalese (what you can do!)
- 2) Why? (why write a gardening program?)
- 3) How? (example session to get you started)
- 4) Where? (a tour of menus and facilities available)
- 5) Hints and Tips
- 6) What's next? (plans for future versions)
- 7) Technical stuff
-
- 1 - Obligatory Legalese
- =======================
-
- There are many different names for software (PD, freely distributable,
- shareware, etc) and I can never remember what they all mean. Therefore, I
- will just describe what you can do to this program.
- Although I retain copyright to all source code written by me, you can
- copy this distribution as much as you like, and give it to whoever you want.
- (note that arp.library is part of the AmigaDOS Replacement Project, and is
- subject to their distribution restrictions) The executable, documentation,
- and release notes should be kept together, but you can modify/get rid of the
- icons if you don't like them. You should not charge for, or have paid any
- money for this program, other than reasonable media costs (such as requested
- by Fred Fish and other reputable libraries). The executable and
- documentation may be compressed (using a powerpacker-type program) if you so
- desire. I hope that isn't too restrictive!
-
- This program is supplied 'as is'. No warranty or guarantee of any sort
- is implied. I am not responsible for any damage whatsoever that may arise
- from using this program.
-
- 2 - Why?
- ========
-
- The idea for a landscape program came from several sources. Firstly, I
- like 3D graphics/fractals, etc, but had never written any programs of my own
- in this area. For myself, then I wanted to try out a few ideas. Secondly, I
- wanted something to model the real world. Real world modeling makes a
- program accessible to more people, as it is easier to follow what is going
- on. Thirdly, I was lent a catalogue from a "well-known garden paving
- manufacturer". In it, a landscape designer had drawn plans of various
- gardens, and then drawn the garden as it would look in 3D. I thought "I
- wonder if a computer could do that?".
- The LandScape program is the result of these musings. It is not meant to
- be a full-blown CAD program, as these tend to be difficult to use for people
- without a technical background. What I have tried to do, is to take some of
- the ideas of CAD (although I have never used a CAD package myself), and
- pitched them at a more intuitive level (hopefully).
- Now then, as any programmer will tell you, programs are never really
- finished. This version of LandScape has been deliberately limited in many
- respects in the interests of getting something released. If I didn't do it
- this way, then I'd always be adding bits here and there, and no-one would
- get to see what I had done. I have some ideas about the things that have yet
- to be added (see section 6), but would always be interested in any ideas
- that you may have, or things that you think a program of this type ought to
- be able to do.
-
- 3 - How?
- ========
-
- As the best way to learn is by doing, this section presents in tutorial
- form a typical session. It shows you how to use some of the features the
- program offers. As with anything, there is no substitute for
- experimentation, so if anything looks a bit confusing, do not be afraid to
- try it out a few times. Unfortunately there is some duplication between the
- information presented in this section, and the more detailed information in
- section 4.
- An important thing to remember is that this is a reasonably complicated
- program, and you are advised to use it experimentally, to get a feel for
- what it is going to do, before diving in with anything complicated. If you
- just switch on, skim through the docs saying "Yup, that looks easy", and
- then proceed to try and enter an entry for the Chelsea flower show, you may
- well come unstuck!
-
- 3.1 Setting Up
-
- Sorry to start with a boring bit, but there is a small amount of stuff
- you have to set up before using LandScape. It only has to be done once
- (unless you change your workbench disks). In order to work, the file
- arp.library has to be installed into your LIBS: directory. If you have
- installed the ARP command set, or another program that used arp.library then
- this will already have been done. If, this is not the case, however, you
- will have to copy the file across yourself. This can be done either through
- the CLI and the COPY command, or by using one of the mouse-driven directory
- utilities (such as SID) which are quite popular.
- If really have no idea about how to do this, I would suggest that you
- seek help from a friend/neighbour/dealer/user group. I could have given a
- step-by-step description here on how to do it, but since I do not know the
- exact setup of the disk this program has been supplied on, there would
- always be the risk of it not working.
-
- 3.2 Scaling
-
- OK, lets assume that the setup has been completed. You can now click on
- the LandScape icon (or type the program name from the CLI, if you prefer).
- The program will come up with a blank screen. The black area is where you
- draw the garden plan.
- IMPORTANT NOTE: It is likely that when you see the scaling requester pop
- up, you will just thump the 'OK' gadget, and start planting. Unless the
- default scaling is correct, RESIST THIS TEMPTATION. If you take the default
- scales, you are telling the program that your garden is 6.4 metres long. If
- you then plonk a medium-sized tree (5 metres tall) in the middle of it,
- there will not be much space left for anything else.
- The first thing to do is to lay out the garden boundary. To do this,
- select 'boundary' from the edit menu. You cannot do anything useful, until
- you have defined some sort of boundary. Now then, a requester pops up asking
- you to set the screen dimensions. This is necessary, as when you are drawing
- the garden, the computer needs to know how big it is in real life. The two
- numbers show how big the black drawing area is on the ground. It will
- default to 640 cms across the screen. If this is too big, or too small, you
- can click on the up/down arrows to change it. Alternatively, you can click
- on one of the numbers, use the delete keys to get rid of the old number,
- then type in a new number and press return. You will notice that the two
- numbers are linked, so that if you change one, the other changes as well.
- This is because the scaling affects the whole drawing area. You cannot set
- different X and Y scales.
- When you are satisfied, click on 'OK'. This cursor will change into a
- crosshair. If you move it around a bit, you will see a distance readout
- appear in the top right hand of the title bar. The crosshair cursor means
- that you are drawing an area object. If you click the left mouse button, a
- white dot appears. Moving the mouse now will cause the distance readout to
- show how far away you are from the dot. If you click the left mouse button
- again, a white line will be drawn from the first dot, to the current
- position. You can go on in this way, clicking the left mouse button, and
- drawing lines from the last clicked point to the current one, drawing a
- boundary to be any shape you like. In order to stop drawing, just click
- reasonably close (within 5 pixels) of the first point on the boundary.
- LandScape will close the boundary, and change the pointer back to its
- familiar shape. An area object has a limit of about 250 points on each area
- object, so don't go too mad.
- Note that the boundary doesn't actually do anything as such. It is not
- drawn in the final picture, and the program will allow you to draw outside
- of it. However, you are strongly advised not to do this.
-
- 3.3 Area Objects
-
- Now that the boundary has been defined, we can draw the rest of the area
- objects. Currently, these consist of lawns, earth, and footpaths. These are
- all drawn in exactly the same way as the boundary, you just select the one
- you want. You must, however remember the following points: LandScape sets up
- the garden in much the same way as a real garden. i.e., you start with a big
- patch of mud, then plant lawns, and lay footpaths. This means that if you
- plan a garden with a patch of earth, a lawn, and a footpath all in the same
- place, the program will draw the earth first, followed by the lawn (covering
- the earth), followed by the footpath (covering both of them).
- The only time this causes problems, is if you want something different
- from this scheme of things, such as a patch of earth (flower bed) in the
- middle of a lawn. See the hints and tips section (section 5) for how to get
- around this.
- Incidentally, all area objects are colour coded so that you know what's
- what. The boundary is white, earth is drawn as brown, lawns are green, and
- footpaths are grey. Fairly predictable really.
-
- 3.4 Plants
-
- Now, we have set up our lawns, footpaths and flower beds, it's time to
- get planting! It doesn't really matter when you lay the plants out (before
- or after the area objects) as they push through and are always drawn on the
- top of all area objects. It makes more sense, however to draw the plants
- last. The program will also let you plant things on the footpath.
- First of all, you have to decide what to plant. To do this, select
- 'plant' from the edit menu. A requester will appear with a selection of
- plant groups on it. The groups ( the 3 boxes across the middle) represent
- trees, non-flowering plants, and flowering plants. The current selection is
- highlighted in red. If you click on one of the plant group boxes, a second
- set of boxes will appear towards the bottom of the requester, containing the
- plants available in that group. You just click on the plant you want (so
- that it becomes highlighted). I won't list all the plants available, as this
- is just a tutorial. (see section 4 if you are desperately interested). Note
- that you can only pick one plant at a time (obviously), but if you click on
- the flowering plants group, you can pick a flower AND a colour.
- Now if you click on 'OK', the cursor turns into a symbol of whatever you
- have chosen, and you can go around the garden plan 'planting' it with the
- left mouse button. As you do this, a little plant symbol will appear on the
- plan. Note that the symbols are fairly simple, and do not show the size of
- the plants.
-
- 3.5 Picking a viewpoint
-
- OK, now we've got a garden full of plants, all ready to draw. The most
- important thing to do is to save what you've done so far. Ideally, you
- should save what you've done every 15 minutes or so, that way if something
- goes wrong, you haven't lost too much work. Once you have told LandScape to
- draw the garden, you will not be able to save the garden plan. If you look
- at save under the project menu, you will see that you can save in two ways:
- IFF or data. IFF means that the garden plan is saved in a way that allows it
- to be loaded in DeluxePaint, or any other IFF compatible paint/viewing
- program. A garden plan saved as IFF can NOT be read back in again. If you
- want to be able to read the garden plan back in again, then it has to be
- saved as data. Whichever one you pick, you will get a file requester which
- you fill in to tell the program where to save the information, and what to
- call it.
- Anyway, once the garden plan has been saved, the drawing can start. This
- is done by selecting draw from the draw menu. Be warned that once the garden
- has started drawing, you cannot get back to the plan without exiting the
- program, starting it up again, and loading the plan back in.
- When you select 'draw', the screen will clear, and the boundary will be
- drawn on its own (no plants/lawns, etc). The pointer will turn into a cross.
- LandScape is waiting for you to tell it what part of the garden you want to
- look at. This means that no matter what direction you move your eyes to,
- your eyes will always look at this point (and it will appear in the middle
- of the screen). For most cases, the 'look at' point will be in the middle of
- the garden, so for the time being, move the cursor to the middle and press
- the left mouse button.
- The screen will clear again, and the boundary will be re-drawn, with the
- chosen 'look at' point in the middle of the screen. The first coordinate of
- the boundary has a red square drawn around it (so that you can keep track of
- where you are, if you garden is a regular shape). It is now time to pick a
- viewpoint. For those who are familiar with 3D rotation, this is a breeze. If
- you are not so familiar with this concept I will try to explain what is
- happening.
- At the top left of the screen, you will see some boxes. You click on
- these boxes to move your viewpoint around. Your movement can be up, down,
- left, right, zoom in, or zoom out. You start off vertically above the garden
- looking straight down.
- The key point is that all movement is radial (polar coordinates). This
- means that you are at a fixed distance from the 'look at' point. For those
- unfamiliar with polar coordinates, it is quite difficult to explain without
- a few pictures, and so there really is no substitute for clicking the
- buttons and seeing what happens. If I were forced to try and explain it, I
- would say it is rather like climbing around on the outside of a giant glass
- pudding basin placed over the garden.
- No matter where you move to, LandScape will make sure the 'look at'
- point is at the centre of the screen. You cannot move the viewpoint
- underground, or take it past vertical.
- Once you are happy with the viewpoint, click on the 'quit' box, and the
- garden will be drawn from that viewpoint. This takes quite a few minutes,
- but the 'drawing in progress...' title will disappear when this is done.
- Be warned that the drawing CAN TAKE A LONG TIME. There is a lot of maths
- involved with working out the plants, and although there is a lot that could
- be done to speed things up, that is for another version. You are better off
- starting off with fairly simple gardens to start off with, with not very
- many plants in until you work out what to expect.
- When the drawing has completed, a new menu will exist in the menu bar.
- The only thing you can really do is to save the garden as an IFF file, ready
- to be loaded into your favourite paint program for printing out, or for
- making any small changes you feel are necessary. Otherwise, you can select
- 'quit', and the program will end.
-
- 4 - Where?
- ==========
-
- LandScape consists of two largely independent parts. The editor module,
- and the drawing module. When starting the program, you are using the editor
- module. Instructing LandScape to draw a plan automatically transfers you to
- the drawing module. Each module is described below, and has different menus.
-
- Editor Module.
-
- The editor module is used for entering a plan of the garden when the
- program is first started. LandScape can be started from either the
- workbench, or the CLI. There is, however a subtle difference if anything
- goes wrong. A CLI launched program will print a error message on the CLI if
- a problem is detected. The workbench launched version will just beep and
- flash the screen. In either case the program may or may not terminate,
- depending on the severity of the problem.
- The editor module contains the following menu items: (Note that in
- common with all Amiga programs, many of the menu selections have keyboard
- shortcuts. These are useful for speeding up use of the program once you have
- the hang of how it works. The shortcuts can be seen by pulling a menu down.
- On the right of some of the selections is a funny letter A, followed by a
- letter. This means that you can select this menu item by holding down the
- right Amiga key while pressing that letter.
- The project menu contains the following items:
-
- - About (right amiga A): Just a quick note on how to contact me, should
- you wish to do so.
-
- - New (right amiga N): This empties out everything in memory, ready to
- type in a new garden plan. This does not have to be done when the program is
- started. Remember that if you select this, any plan typed in so far WILL BE
- LOST, so make sure you either intend to get rid of it, or save it first.
-
- - Open. (right amiga O): This allows a garden plan that was previously
- saved to disk (as data) to be read in. You cannot open a new garden while in
- the middle of editing an old one. You must first get rid of the old one by
- selecting 'new'.
-
- - Save (IFF/data): This allows a garden plan to be saved to disk. for
- later retrieval. Data can be saved in the standard Amiga IFF format for
- loading into a paint/view program. A garden plan saved in this way cannot be
- loaded back into LandScape at a later date. The second way for a plan to be
- saved is as a data file. This stores the plan information in LandScapes
- very own custom personalised file format, which can be read back in later by
- the program using 'open'.
-
- - What is (right amiga W): This option puts up a requester with a little
- bit of information about the currently selected object. (see 'select' for
- how to select an object) Currently, different sized plants are all drawn
- with the same symbol, and this is the only way of finding out how big they
- are. Click on OK when you have finished reading.
-
- - Select Item (right amiga S): Selecting something in the garden singles
- out that object from the others. On its own, it doesn't do much, however the
- 'delete' and 'what is' menu functions only work on things that have been
- selected. Anything in the garden can be selected, and when you choose this
- menu option, the cursor turns into a question mark with an arrow. You then
- move the arrow to the item you want to select, and click on it. The item
- will turn red, to show that it is selected. To unselect it, just click the
- left mouse button again. If you are selecting a plant, click on the base of
- its trunk/stalk. If you want to click on an area object, you have to click
- on one of its corners, NOT an edge. The select function 'homes in' on the
- nearest selectable object, so if you click the mouse in the middle of
- nowhere, the nearest item will be selected, even if it is on the other side
- of the screen.
-
- - Delete Item: This gets rid of (I suppose you could say 'digs up'!) the
- currently selected item. Use this carefully, as once you have deleted
- something, you can't get it back.
-
- - Quit (right amiga Q) This quits the program and returns you to the
- workbench screen.
-
- The edit menu contains the following items:
-
- - Boundary (right amiga B) When the program is started, this is the only
- item in this menu that can be selected. Once the boundary has been drawn,
- the other menu items become available, and no more boundaries can be drawn.
- The boundary is an area object, and is drawn in white. All area objects are
- drawn in the same way, the cursor turns into a cross hair, and by clicking
- on the left mouse button, the area can be traced out. The area is closed by
- clicking reasonably close (within 5 pixels) of the starting point. When
- placing the first point, the coordinates in the right of the title bar
- should the distance on the ground from the top left hand corner of the
- drawing area. For subsequent points, the coordinates show the relative
- distance on the ground to the previous point. There is a limit of around 250
- points allowed on an area object, which should be enough.
- The boundary differs slightly from the other area objects in that before
- it can be drawn, you have to set the screen scale on the scaling requester.
- This is fairly self explanatory, you just tell the program how many
- centimetres on the ground each pixel on the screen represents.
-
- - Lawn (right amiga L) This allows a lawn to be laid out. This is pretty
- much the same as laying out the boundary. A lawn is an area object, and is
- drawn in green. Remember that when the final drawing is done, the lawns will
- be drawn overlaying any earth, but underneath any footpaths.
-
- - Footpath (right amiga F) This allows a footpath to be laid out. A
- footpath is an area object, and is drawn in the same way as all the other
- area object. Footpaths are drawn in grey. During the final drawing,
- footpaths are drawn on top of all other area objects (but underneath
- plants).
-
- - Earth (right amiga E) This allows a patch of earth to be drawn. Earth is
- an area object, and is drawn in the same way as any other area objects.
- Earth is drawn in brown. During the final drawing, earth will be drawn
- underneath all other area objects, so if you want a flowerbed in the middle
- of a lawn, you have to leave a hole in the lawn. See the hints/tips section
- for more information.
-
- - Plants (right amiga P) This allows you to populate your garden with a
- selection of different plants. Be aware that the plants at the drawing stage
- are fairly stylised, and aren't meant to look 100% like the real thing.
- Still they are approximately the right shape, and approximately the right
- colour. Currently there is only a small selection of plants available. I
- hope they are enough to do the job.
- Upon selecting the plant menu item, you are presented with a requester
- asking what type of plant you want. The requester lists three plant groups -
- trees, non-flowering plants, and flowering plants. The currently selected
- group is highlighted in red, and as you select each group, a selection of
- plants in that group appears in the second set of boxes at the bottom of the
- requester. Once you select the plant you want, (note that when selecting a
- flower, you also have to choose a colour) you click on OK, and the pointer
- turns into a mobile version of whatever plant group you have selected. You
- can move this pointer around the garden, and 'plant' it by clicking the left
- mouse button. The selected plant remains active, and you can continue to
- plant it around the garden, without having to re-select it. Available plants
- are:
- Trees can be:
- dwarf deciduous tree (approx 1 metre tall)
- small deciduous tree (approx 2 metres tall)
- medium deciduous tree (approx 5 metres tall)
- dwarf fir tree (approx 1 metre tall)
- small fir tree (approx 2 metres tall)
- medium fir tree (approx 5 metres tall)
-
- Non-flowering plants can be:
- small plant (approx 10 cms tall)
- medium plant (approx 60 cms tall)
- large plant (approx 150 cms tall)
- small hedge element (approx 75 cms tall)
- medium hedge element (approx 150 cms tall)
-
- Flowering plants can be:
- small flower (approx 10 cms tall)
- medium flower (approx 60 cms tall)
- rose bush (approx 60 cms tall)
-
- (Any flowering plant can be red, orange, yellow, blue, or
- multi-coloured)
- Multi-coloured means each flower is picked randomly to be red, orange,
- yellow, or blue. You cannot have several colours on the same bloom.
-
- The draw menu contains the following item:
-
- - Draw garden (right amiga D) This is the biggy. LandScape takes the
- garden plan you have designed, and passes it to the drawing module. Make
- sure you have saved the garden plan, as once you start drawing, you cannot
- get back to the editor module.
-
- The first thing the drawing module sorts out is the position the garden
- is to be viewed from. To this effect, the boundary is drawn with a red
- square around the first coordinate (this is in case you have a square
- garden, and lose track of how much you rotated it!). You are then invited to
- click on the 'look at' or viewed point. This is the point about which the
- garden will be rotated, and will be drawn at approximately the middle of the
- screen. Normally, the viewed point will be at the middle of the garden, but
- by varying the positions of the viewed point and the view point (described
- in a moment), a good range of different views can be obtained. The viewed
- point is selected by clicking the crosshair cursor on the appropriate part
- of the plan. The boundary will be re-drawn with the viewed point at the
- centre of the screen. From this point onwards, the program will not allow
- the boundary to go off the sides of the screen, and any time the boundary is
- moved in such a way as to cause this to happen, the program will
- automatically zoom the viewpoint outwards, until the boundary has shrunk
- enough to fit. A group of boxes at the top left of the screen control the
- movement of the viewpoint. They allow movement up, down, left, right, as
- well as zoom in and zoom out. The movement is based on polar coordinates
- with origin at the viewed point, so up/down are variations in polar
- elevation and left/right are variations in polar azimuth. These all maintain
- a constant radial distance from the 'look at' point. The zoom in and zoom
- out boxes alter the radial distance from the 'look at' point, but maintain
- the same polar angles.
- At all times, the 'look at' point remains at the centre of the screen.
- The angles change in ten degree increments, and the radial distance also
- changes in increments of ten. As the viewpoint is changed by using the
- boxes, the boundary is constantly re-drawn with perspective to show what the
- boundary would look like if viewed from that position
- Although there is no limit azimuth, the elevation is limited to be zero
- degrees and ninety degrees (i.e. you cannot go underground or over the
- zenith). In addition to this, the zoom in will not let you get too close to
- the garden, or zoom in so that the boundary extends of the screen. Once the
- viewpoint has been satisfactorily selected, click on the quit 'box' and the
- drawing will commence.
- There is really not much to say about the drawing process. All plants
- are rendered mathematically, so I hope they look reasonably lifelike, but do
- not expect a Rembrandt!. The 'drawing in progress...' message will be
- removed from the title bar when drawing is finished, so it's just a matter
- of sitting around and waiting. Of course, you can always switch back to the
- workbench and do something else (isn't multi-tasking wonderful!)
- When drawing is completed, a new menu bar will have appeared. There is
- only a project menu, and even this only has two options. The first is to
- quit the program, and the second is to save the drawn picture as an IFF
- file.
- Incidentally, throughout drawing, a set of coordinates are displayed in
- the right hand of the title bar. These show the position of the current
- viewpoint in polar coordinates. 't1' (t stands for theta) is angular
- azimuth, 't2' is angular elevation, and 'r' is radius (distance from
- origin).
-
- 5 - Hints and Tips
- ==================
-
- 1) Drawing complicated areas.
- If you want to define an area object (such as a lawn), it is not always
- best to define it as one large complicated shape. Sometimes you may find it
- easier to split it up into several smaller, simpler shapes.
-
- 2) Overlapping areas.
- Do not worry about area objects overlapping each other. If the objects
- are of different types, one will overdraw the other, according to their
- relative priorities. If the area objects are both of the same type, they
- will merge together and look like one in the final picture.
-
- 3) Area priorities.
- It is not directly possible to defeat the area object drawing priority.
- At first sight, this makes it difficult to get something like a flower bed
- in the middle of a lawn. The best way (although by no means the only way) is
- to draw one large patch of earth first as filling the whole garden, and then
- draw the lawn as two adjoining sections, each with half of the flower bed
- cut out of it, leaving a 'hole' where the earth shows through.
-
- 4) Circular Areas.
- As you have probably guessed, it is not directly possible to draw
- circular or rounded objects. However, since each area object can have
- approximately 250 points, you can get reasonably close to a rounded object
- by using more points spaced quite closely together.
-
- 5) Square Areas.
- Drawing square or rectangular areas is much easier if you keep an eye on
- the coordinates in the title bar. Presumably, if you are working out a real
- garden, you will have a reasonably good idea of what the dimensions are
- going to be. Funnily enough, it is more difficult to draw these objects if
- you are just experimenting, as you will not have thought out beforehand what
- the dimensions are.
-
- 6) Plant distances.
- The title bar coordinates also come in useful for determining how close
- plants should be to each other. Bear in mind that with this version of the
- program, the images on the plan do not give you much idea of how big the
- real objects are. This means that if, for example you plant a series of
- hedge elements so that the symbols are just touching, you may get a
- perfect-looking hedge. However, depending on the scaling, you may find that
- when it is drawn, it has gaps in it, or that the hedge plants are much too
- close together (meaning that it takes a lot longer to draw). Once again, you
- have to experiment to see what looks good.
-
- 6 - What's Next?
- ================
-
- The version of LandScape released here is almost unchanged from what I
- decided to write several months ago. At the time, I laid done a set of
- minimum requirements for the program to be able to do. These were
- deliberately limited in the interests of having a stationary goalpost to aim
- at. Since then, other ideas have also occurred to me. Possibilities for
- improvement and extension include:
- 1) Making the program self-install. This would make things easier for
- people not familiar with using the CLI to copy any libraries, etc.
- 2) The garden is currently constrained to be perfectly flat. Support will
- be added for split levels and slopes. To be fair, all of the graphics and
- perspective routines already support full 3D, it's just that I have not yet
- thought of a way of good way of representing them on the plan yet.
- 3) The list of available objects will be increased to include
- stones/paving/brickwork/walls/fences/ponds, etc plus a greater variety of
- plant life. Object texturing is also being looked into.
- 4) Currently all dimensions are metric (centimetres). I realise that this
- will annoy at least one large continent, so imperial measurements will be
- included.
- 5) Context-sensitive on-line help will be provided.
- 6) Plan detail currently has to fit on one screen. Some sort of zoom/scroll
- facility is under consideration.
- 7) Area objects are currently only selectable by the corners, and plants
- only by the origin. This may be changed so that edge selection is allowed.
- 8) Plan symbols are currently fixed size. This will be changed so that the
- plant size and type is more obvious, and will also change to be proportional
- to the scale of the garden.
- 9) Workbench support will be improved. Thus saved gardens and IFF files
- will be provided with icons. In addition, the program will be much more
- configurable from the CLI and icon tooltypes. A good example of this would
- be with metric/imperial measurement selection.
- 10) Objects may be forced to be inside the garden boundary.
- 11) The viewpoint positioning boxes will auto repeat, making viewpoint
- selection a bit easier on the mouse.
- 12) All of the floating point maths currently used during drawing will be
- changed to fixed point. This should speed up the drawing a lot.
- 13) The algorithms for drawing the plants will be further modified and
- refined, to make the plants more lifelike and realistic.
-
- Now then, all of the above are just ideas. It is not definite that they
- will happen, and if they do, it may not necessarily all be at the same time.
- I wrote this program for a laugh, and to learn more about a great machine.
- If you find that what I have done is interesting or useful, then that's
- icing on the cake. I will continue to work on this program as long as I feel
- someone (whether myself or anyone else) is benefiting from it. The supply
- will try to respond to the demand.
-
- 7 - Technical Stuff
- ===================
-
- This section is intended for anyone who happens to be interested in some
- of LandScapes technical aspects.
- LandScape was written entirely in C, and was developed using various
- versions of the SAS (Lattice) C compiler. The final code was produced using
- version 5.10a. LandScape uses a lot of recursion during the drawing phase,
- but does not seem to go very deeply, as I have never seen it overflow the
- default 4000 byte stack. Nevertheless, as I cannot guarantee that this will
- never happen, I have left in SASs stack checking code. If the stack does
- overflow, you will get a requester warning you, and giving you the option to
- abort the program. Be aware that if you do this, you will not get any memory
- back that was in use at the time, until rebooting. This is a side effect of
- the SAS code, and I am not aware of any way I can regain control of the
- machine to free up the resources.
- The drawing routines make extensive use of floating point maths. This
- was done intentionally, as I wanted to make it work, before I made it work
- quickly. I may change this to fixed point maths, as the drawing speed is a
- little slower than I thought it was going to be. The Fast Floating Point
- libraries are used at runtime, which keeps the program size down nicely.
- Sorry FPU people, but no support for you. I had originally written in FPU
- support via the IEEE runtime libraries, but on my machine (with a 68881 as a
- peripheral processor, NOT a coprocessor) even these were significantly
- slower than the FFP libraries, and I had no real use for the extra
- precision, so out the window they went.
- Since LandScape was written in C, and doesn't to my knowledge do
- anything nasty to the machine, I believe that it should work on all
- processors. However, I am unable to test this. I would be grateful if anyone
- with access to such machines (particularly the A3000) would report on
- whether or not this is the case. Similarly, I have tried to make the program
- auto-configure to an NTSC screen, but this cannot be terribly well tested on
- a PAL machine. On the odd occasions that my machine boots with an NTSC
- screen (the well known bug), superficial testing seems to indicate that it
- works.
- The plants in LandScape are generated algorithmically at runtime. For
- each plant type, I have taken a basic form, and I then allow each plant to
- develop inside a set of constraints. The starting form, and constraints have
- been picked by trial and error, until the plant started to look
- approximately like the real thing. The algorithms have a lot of random
- elements, and so every time you draw a garden, the plants will look slightly
- different. Although things should average out, occasionally you get a badly
- lopsided or misshapen plant. This, I believe mirrors real life! The
- algorithms are recursive, and to a certain extent sensitive to size, so that
- a large object will have more detail than a small one. However, large
- objects are also drawn more coarsely to speed up the drawing time (I hope
- that doesn't sound too self-contradictory).
-
- Steve Goddard.
-